package com.example.im.xmpp

import com.example.im.bean.UserRoom
import org.jivesoftware.smack.ConnectionListener
import org.jivesoftware.smack.MessageListener
import org.jivesoftware.smack.StanzaListener
import org.jivesoftware.smack.chat2.IncomingChatMessageListener
import org.jivesoftware.smack.chat2.OutgoingChatMessageListener
import org.jivesoftware.smack.roster.RosterEntries
import org.jivesoftware.smack.roster.RosterListener
import org.jivesoftware.smack.roster.SubscribeListener
import org.jivesoftware.smackx.bookmarks.BookmarkedConference
import org.jivesoftware.smackx.muc.InvitationListener
import org.jivesoftware.smackx.muc.RoomInfo
import org.jivesoftware.smackx.ping.PingFailedListener

interface DefaultConnectionListener : ConnectionListener, StanzaListener, SubscribeListener,
    RosterListener, RosterEntries, IncomingChatMessageListener, OutgoingChatMessageListener,
    InvitationListener, MessageListener {
    fun connectedStart()
    fun onBookmarkedConferences(roomInfo: RoomInfo, sub: Int): UserRoom?
    fun onOwnershipRevoked(roomInfo: RoomInfo)
}
